package cn.iocoder.yudao.module.exam.dal.dataobject.studentanswer;

import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 考题管理 DO
 *
 * @author francis
 */
@TableName("exam_student_answer")
@KeySequence("exam_student_answer_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StudentAnswerDO extends BaseDO {

    /**
     * 答题ID
     */
    @TableId
    private Long id;
    /**
     * 试卷ID
     */
    private Long paperId;
    /**
     * 题目ID
     */
    private Long questionId;
    /**
     * 学生ID
     */
    private Long studentId;
    /**
     * 题号
     */
    private Integer questionNo;
    /**
     * 学生答案
     */
    private String studentAnswer;
    /**
     * 答题区域图片路径
     */
    private String answerImageUrl;
    /**
     * AI答案
     */
    private String aiRecognizedAnswer;
    /**
     * 得分
     */
    private BigDecimal score;
    /**
     * 错对
     */
    private Integer isCorrect;
    /**
     * AI批阅详情(JSON格式)
     */
    private String aiMarkingDetail;
    /**
     * 扣分原因
     */
    private String deductionReason;
    /**
     * 人工审核得分
     */
    private BigDecimal manualScore;
    /**
     * 教师批注
     */
    private String manualComment;
    /**
     * 批阅方式
     */
    private String markedBy;
    /**
     * 批阅时间
     */
    private LocalDateTime markedTime;
    /**
     * 创建时间
     */
    private LocalDateTime createdTime;
    /**
     * 更新时间
     */
    private LocalDateTime updatedTime;


}